<template>
  <view class="my-userinfo-container">
    <!-- 头像昵称区域 -->
    <view class="top-box">
<!--      <image :src="userinfo.avatarUrl" class="avatar"></image>
      <view class="nickname">{{userinfo.nickName}}</view> -->
      <template v-if="!avatarUrl">
      <uni-icons type="contact-filled" size="100" color="#AFAFAF"></uni-icons>
      </template>
          <image v-else :src="avatarUrl" mode="aspectFit"  style="width: 75px; height: 75px;border-radius: 100%;"></image>
          <button type="primary" class="btn-login" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">更换头像</button>
      <input class="nickname" type="nickname" placeholder="请输入昵称" placeholder-style="color: #ffffff;" @input="onInputNickname" />
    </view>
    <!-- 面板区域 -->
    <view class="panel-list">
 <!--     第一个面板 -->
 <view class="panel">
   <view class="panel-body">
     <view class="panel-item">
       <text>8</text>
       <text>-----</text>
       <text>收藏的店铺</text>
     </view>
     <view class="panel-item">
       <text>14</text>
       <text>-----</text>
       <text>收藏的商品</text>
     </view>
     <view class="panel-item">
       <text>18</text>
       <text>-----</text>
       <text>关注的商品</text>
     </view>
     <view class="panel-item">
       <text>84</text>
       <text>-----</text>
       <text>浏览历史</text>
     </view>
   </view>
 </view>
   <!--   第二个 -->
   <view class="panel">
     <view class="panel-title">
       我的订单
     </view>
     <view class="panel-body">
       <view class="panel-item">
         <image src="/static/my-icons/icon1.png" class="icon"></image>
         <text decode="{{true}}">&ensp;</text>
         <text>待付款</text>
       </view>
       <view class="panel-item">
         <image src="/static/my-icons/icon2.png" class="icon"></image>
         <text decode="{{true}}">&ensp;</text>
         <text>待收货</text>
       </view>
       <view class="panel-item">
         <image src="/static/my-icons/icon3.png" class="icon"></image>
         <text decode="{{true}}">&ensp;</text>
         <text>退款/退货</text>
       </view>
       <view class="panel-item">
         <image src="/static/my-icons/icon4.png" class="icon"></image>
         <text decode="{{true}}">&ensp;</text>
         <text>全部订单</text>
       </view>
     </view>
   </view>
    <!--  第三个 -->
    <view class="panel">
      <view class="panel-list-item">
        <text>收货地址</text>
        <uni-icons type="arrowright" size="15"></uni-icons>
      </view>
      <view class="panel-list-item">
        <text>联系客服</text>
        <uni-icons type="arrowright" size="15"></uni-icons>
      </view>
      <view class="panel-list-item" @click="logout">
        <text>退出登录</text>
        <uni-icons type="arrowright" size="15"></uni-icons>
      </view>
    </view>
  </view>
  </view>
</template>
<script>
  import {mapState,mapMutations} from 'vuex'
  export default{
    data(){
      return{
        avatarUrl: '',
        nickname: ''
      };
    },
    methods:{
      ...mapMutations('m_user',['updateAddress','updateUserInfo','updateToken']),
      onInputNickname(event) {
        this.nickname = event.target.value;
        console.log('输入的昵称:', this.nickname);
      },
      onChooseAvatar(event) {
        this.avatarUrl = event.detail.avatarUrl;
        console.log('选择的头像临时路径:', this.avatarUrl);
      },
      // async logout(){
      //   await uni.showModal({
      //     title:'提示',
      //     content:'确认退出登录吗',
      //   }).catch(err=>err)
      //   if(succ&&succ.confirm){
      //     this.updateAddress({})
      //     this.updateUserInfo({})
      //     this.updateToken('')
      //   }
      // }
      async logout() {
          try {
              const result = await uni.showModal({
                  title: '提示',
                  content: '确认退出登录吗',
              });
              if (result.confirm) {
                  this.updateAddress({});
                  this.updateUserInfo({});
                  this.updateToken('');
              }
          } catch (error) {
              console.error('模态框出现错误:', error);
          }
      }
    },
    computed:{
      ...mapState('m_user',['userinfo'])
    }
  }
</script>
    
<style lang="scss">
  .my-userinfo-container{
    height:100%;
    background-color: #f1f1f1;
    .top-box{
      height:400rpx;
      background-color: #C00000;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      .avatar{
        width:90px;
        height:90px;
        border-radius: 45px;
        border: 2px solid #FFF;
        box-shadow: 0 1px 5px black;
      }
      .btn-login{
        width:40%;
        height:40px;
        border-radius: 100px;
        background-color: #C00000;
        text-align: center;
        font-size: 15px;
      }
      .nickname{
        font-size: 16px;
        color:#ffffff;
        font-weight: bold;
        margin-top: 5px;
        align-items: center;
        justify-content: center;
        display: flex;
        border-bottom: 1px solid #ecf3f8;
        text-align: center;
      }
    }
  }
  .panel-list{
    padding:0 10px;
    position: relative;
    top:-10px;
    .panel{
      background-color: white;
      border-radius: 3px;
      margin-bottom: 8px;
      .panel-title{
        line-height: 45px;
        padding-left: 10px;
        font-size: 15px;
        border-bottom: 1px solid #F4F4F4;
      }
      .panel-body{
        display: flex;
        justify-content: space-around;
        align-items: center;
        .panel-item{
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: space-around;
          padding-left: 10px 0;
          font-size: 13px;
          .icon{
            width:35px;
            height:35px;
          }
        }
      }
    }
  }
  .panel-list-item{
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    padding:0 10px;
    line-height: 60px;
  }
</style>
